using IcsSEMCtrl.Event.Device;
using System;
namespace Lifter.Event.Lifter
{
    [Serializable]
    public class TransferEvent : DeviceEvent
    {
        public enum TransferEventType
        {
            ADD_TRANSFER = 1,
            UPDATE_TRANSFER,
            REMOVE_TRANSFER,
            SELECT_TRANSFER
        }
        public static readonly string CLASS = "TransferEvent";
        public static readonly string SPECIFIC_SUBJECT = "transfer";
        public new static readonly string SUBJECT = DeviceEvent.SUBJECT + "." + TransferEvent.SPECIFIC_SUBJECT;
        private string commandId;
        private TransferEvent.TransferEventType transferevent;
        public string CommandId
        {
            get
            {
                return this.commandId;
            }
            set
            {
                this.commandId = value;
            }
        }
        public TransferEvent.TransferEventType Transferevent
        {
            get
            {
                return this.transferevent;
            }
            set
            {
                this.transferevent = value;
            }
        }
        public TransferEvent(string deviceId, string deviceType, string commandId, TransferEvent.TransferEventType transferevent) : base(deviceId, deviceType)
        {
            this.commandId = commandId;
            this.transferevent = transferevent;
            base.SetSubject(this.CreateSubject(commandId));
        }
        protected new string CreateSubject(string id)
        {
            return TransferEvent.FormSubject(id);
        }
        public new static string FormSubject(string id)
        {
            return TransferEvent.SUBJECT + "." + id;
        }
    }
}
